A computer system generally includes one or more central processing units (CPUs), main memory, data storage device (e.g., hard disk drive, solid state drive), peripheral components, and peripheral interfaces such as network interface cards (NIC), host bus adapters (HBA). A computer system CPU may communicate with other computer systems through a network interface (NIC). Non-limiting examples of NIC include Ethernet, Wi-Fi, Bluetooth, Universal Serial Bus (USB), Firewire, etc. Within the same computer system, the CPU or processor may communicate with the peripheral components or devices through a local data connection or bus such as the Peripheral Component Interconnect (PCI) Express bus or PCIe.
In some applications, a computer system may be utilized to update a target System on Chip (SOC). An SOC is a single chip or integrated circuit that includes many components of a computer system. For example, an SOC may integrate the CPU, main memory, data storage, peripheral components (e.g., transceivers, modem), NIC, etc. The SOC typically has an operating system and a bootloader that are stored in a storage device (e.g. Flash memory). There are occasions that the software of the SOC in the form of an SOC image needs to be updated.